[レポート]Event Tracing for Windows Internals– CODE BLUE 2024 #codeblue_jp
危機管理室の吉本です。
CODE BLUE 2024の以下のセッションについてレポートをまとめます。
Event Tracing for Windows Internals
ETW(Event Tracing for Windows)は、Windows OSの機能であり、アプリケーションやドライETW(Event Tracing for Windows)は、Windows OSの機能であり、アプリケーションやドライバーなどの動作に関するイベントを集約し、記録するための仕組みである。現在、ログ管理やセキュリティ監視に広く利用されている。しかし、昨今のセキュリティインシデントの調査において、Event Logに記録されるログだけでは十分な情報が得られないケースが増えている。そこで、より詳細なWindows OS上の情報を記録できる仕組みが求められている。
ETWは、Event Logよりも多くのアクティビティを記録する可能性を持っており、多くのEDR製品でETWを用いた監視が行われている。一方で、攻撃者はETWをバイパスする機能をマルウェアに組み込むことでEDR製品を回避する動きも見られる。
本講演では、ETWに焦点を当てて、ETWを利用したインシデントレスポンス手法やETWの機能をバイパスする方法について詳しく解説する。プレゼンテーションでは、まずETWの仕組みやファイルフォーマット、ETW構造体について説明する。次に、ETWを利用して不正なアクティビティを検知する方法、ETWを用いたフォレンジック手法について紹介し、現在マルウェアに利用されているETWバイパス手法についても解説する。最後に、われわれが作成したETWを使用したフォレンジックツールも紹介する。
このプレゼンテーションを通じて、ETWの深い理解とその活用方法を学び、システムやネットワークのセキュリティ向上に役立てることを目指す。Presented by : Shusei Tomonaga 朝長 秀誠
レポート
- イベントログだけでは攻撃を検知できない
- 攻撃検知のためのログではないため
- イベントログより詳細な、Event Tracing for Windowsがある
- 本講演では、ETW内部構造を理解して、インシデント対応のレベルを上げることを目指す
- ETWとは
- カーネルまたはアプリケーションの特定の動作が起こったときにイベントを発生させるもの
- アプリケーションのデバッグ、EDR、エベントログに使われる
- ETWの構造
- コントローラー:ETW全体をコントロールするアプリケーション
- プロバイダー:logに記録されるイベントを作成する
- コンシューマー:プロバイダーが作ったイベントを受信する
- セッション:コントローラー、プロバイダー、コンシューマ間のやり取り
- ETWの確認方法
- ETWのコントローラーで確認
- Performance Monitorでセッションの確認
- コマンドラインからもlogmanで確認
- プロバイダはlogmanコマンドで確認
- 1,000以上のプロバイダがデフォルトで登録されている
- 脅威インテリジェンスでのETWプロバイダの活用
- 検出したい用途によってさまざまなものがある
- AV/EDRで使用しているプロバイダ
- 共通して使用されている重要なプロバイダがある
- 例:RPC、NetworkProfileなど
- ETWのイベント送信方法
- ファイル(.etl)での送信
- リアルタイムでのコンシューマーへの送信
- バッファーまでの送信
- ETWの内部構造
- ETLのファイル形式の紹介
- HEADERを追っていくとペイロードの位置がわかる
- 非常に複雑で、機械的に判断する必要がある
- パフォーマンスモニターでは中身が見れない
- Kernel modeなどで中身の確認ができる
- Volatility Frameworkはメモリフォレンジックのデファクトスタンダード
- Kernel modeでしかアクセスできないETWにアクセスできる
- EDRやアンチウィルスソフトを確認することができる
- ETWのインシデントレスポンスへの活用
- ETWを使う方法の紹介
- PowershellでのETWの分析方法
- Get-WinEventコマンドで分析する
- EDRの作り方
- ETWを理解していれば独自のEDRを作れるかもしれない
- NTDS dumpsを例として紹介
- ETWではなくSysmonではだめなのか
- Sysmonでもいい
- ただし、リアルタイム検知はETWがおすすめ
- ETWでのフォレンジック
- ストラクチャーからETWデータをトレースする
- 様々な個所からトレースができる
- 残りスライド(Attack Surface、Mitigation and Detection)があるが、時間の都合でここまで
感想
- ETWの構造は公式なドキュメントが公開されておらず、非常に奥深くて可能性のある領域だと思いました
- 残りの部分も興味があるので機会があれば知りたいです